package com.project.web.admin.service.core;


import com.project.model.core.StdCode;
import com.project.model.core.StdCodeType;
import com.project.web.admin.service.common.BaseService;

import java.util.List;
import java.util.Map;

/**
 * 标准编码service
 */
public interface StdCodeService extends BaseService<StdCode, Long> {

    /**
     * 获取codeType的codeList
     *
     * @param stdCodeType    codeType对象
     * @param isShowDisabled 是否显示不可用的
     * @return
     */
    List<StdCode> findList(StdCodeType stdCodeType, boolean isShowDisabled);

    /**
     * 查询code的List
     *
     * @param isShowDisabled 是否显示不可用的
     * @return
     */
    List<StdCode> findList(String codeType, boolean isShowDisabled);

    /**
     * 查询code的List，包括不可用的
     *
     * @param codeType
     * @return
     */
    List<StdCode> findList(String codeType);

    /**
     * 获取codeType的map
     *
     * @param codeType
     * @param isShowDisabled 是否显示不可用的
     * @return
     */
    public Map<String, String> getMap(String codeType, boolean isShowDisabled);

    /**
     * 查询code的map，包括不可用的
     *
     * @param codeType
     * @return
     */
    public Map<String, String> getMap(String codeType);

    /**
     * 根据多个id查询标准编码
     *
     * @param list
     * @return
     */
    List<StdCode> findList(List<Long> list);

}
